package interfaces.spawnMenu.costumize;

import java.util.HashMap;

import interfaces.superWidgets.InterfaceLabel;
import interfaces.superWidgets.MoneyListener;
import interfaces.superWidgets.StaticContent;
import logic.common.team.Team;
import logic.nodes.nodeSettings.Settings;
import logic.nodes.nodeSettings.upgrades.UpgradableSettings;
import logic.ships.hunter.Hunter;

public abstract class CustomizeContainer<E extends UpgradableSettings> extends StaticContent 
													implements MoneyListener {
	
	protected Team team;
	protected Hunter hunter;
	protected Settings maxValues;
	protected int infoX, infoY, infoWidth, infoHeight, border;
	protected HashMap<String, E> selectableSettings;
	protected InterfaceLabel selectionLabel;
	protected String selectionString;
	
	public CustomizeContainer(Team team, int width, int height) {
		super(width, height, 0, 0);
		this.team = team;
		
		selectableSettings = new HashMap<String, E>();
	}
	
	public Team getTeam() { return team ; }
	
	public Hunter getHunter() { return hunter; }
	
	public void changeHunter(Hunter hunter) {
		this.hunter = hunter;
		removeAllWidgets();
	}
	
	public abstract void restore();
}